package com.sunlake.spring.main.model.orders.service;

import com.github.pagehelper.PageInfo;
import com.sunlake.spring.main.common.response.R;
import com.sunlake.spring.main.model.orders.dto.OrdersCreateDTO;
import com.sunlake.spring.main.model.orders.dto.OrdersQueryDTO;
import com.sunlake.spring.main.model.orders.dto.PayOrderDTO;
import com.sunlake.spring.main.model.orders.dto.PayOrderResponseDTO;
import com.sunlake.spring.main.model.orders.vo.OrdersQueryVO;

/**
 * 订单服务接口
 * @author liuha
 */
public interface OrdersService {
    /**
     * 创建订单
     */
    R<String> createOrder(OrdersCreateDTO ordersCreateDTO, Long userId);
    
    /**
     * 支付订单
     */
    R<PayOrderResponseDTO> payOrder(String orderNo, PayOrderDTO payOrderDTO, Long userId);
    
    /**
     * 获取我的订单列表
     */
    R<PageInfo<OrdersQueryVO>> getMyOrders(OrdersQueryDTO queryDTO, Long userId);
    
    /**
     * 获取订单详情
     */
    R<OrdersQueryVO> getOrder(String orderNo);
}
